1. Field of the Invention
The present invention relates to the field of computer systems. More specifically, the present invention relates to the art of maintaining compatibility for a non-universal serial bus (USB) cognition application on a computer system having a USB keyboard/pointing device and the like.
2. Background Information
Virtually all "IBM compatible" personal computers (PCs) include what is known in the art as an AT keyboard controller for facilitating data input/output (I/O) between a keyboard/pointing device and an executing application. Data are input from and output to the keyboard/pointing device through what is known as port 60h and port 64h of the AT keyboard controller.
In its continuous strive to improve the usability of PCs, the PC industry has recently adopted the USB standard for interfacing 1/0 peripherals such as the keyboard and the mouse to the "main" system. Among other things, the standard calls for a USB controller to control the overall operation of the serial bus, to which USB standard compliant I/O peripherals are attached and operate in a prescribed manner. The standard further calls for the abstraction of the functions provided by the USB controller into a set of controller services, and the provision of a layer of serial bus services for servicing client applications. In other words, in a USB compliant world, data 1/0 between a client application and a USB compliant I/O peripheral are performed through the USB compliant serial bus services and controller services. Thus, a traditional application that performs data I/O with a keyboard/pointing device through direct read and write of the AT keyboard controller will not be able to execute properly in the USB world without modification. Therefore, it would be desirable if backward compatibility can be maintained, without modification to either the USB controller or the non-USB cognition "old style" application. It would be also desirable if the backward compatibility can be maintained with similar performance in timing. As will be disclosed in more detail below, the present invention advantageously achieves these and other desired results.
For further information on the USB standard, see Universal Serial Bus, version xx, published by Intel Corporation, Santa Clara, Calif.